package model.letter;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;

import model.admin.OptionalServiceVO;
import model.member.MemberVO;

public class LetterService {
	private LetterDao letterDao;
	public LetterService(LetterDao letterDao){
		this.letterDao=letterDao;
	}
	public void letterWrite(LetterVO lvo) throws SQLException {
		letterDao.letterWrite(lvo);
	}
	public ListVO getLetterList(HashMap map) throws SQLException {
		//페이지번호가 공백이거나 null이면 페이지번호는 "1"
		String page=(String) map.get("pageNo");;
		if(map.get("pageNo")==null||map.get("pageNo")==""){
			page="1";
			map.put("pageNo", 1);
		}
		//편지리스트를 받아오는 메서드
		System.out.println("서비스 쪽의 map 값"+map);
		List<LetterVO> list=letterDao.letterList(map);
		int optionalNo=(int) map.get("optionalNo");
		int totalContent=letterDao.getTotalLetter(optionalNo);
		//편지리스트와 페이징빈을 ListVO에 셋팅
		ListVO listVO=new ListVO(list,new PagingBean(totalContent, Integer.parseInt(page)));
		return listVO;
	}
	public LetterVO getLetter(LetterVO lvo) throws SQLException {
		return letterDao.getLetter(lvo);
	}
	public void updateLetter(LetterVO lvo) throws SQLException {
		letterDao.updateLetter(lvo);
	}
	public void deleteLetter(LetterVO lvo) throws SQLException {
		letterDao.deleteLetter(lvo);
	}
		public OptionalServiceVO letterRequest(String id) throws SQLException {
		return letterDao.letterRequest(id);
	}
		public OptionalServiceVO existByOptionalNo(MemberVO mvo) throws SQLException {
			return letterDao.existByOptionalNo(mvo);
		}
}
